/*
 * Wazuh Vulnerability scanner - Database Feed Manager
 * Copyright (C) 2015, Wazuh Inc.
 * May 1, 2023.
 *
 * This program is free software; you can redistribute it
 * and/or modify it under the terms of the GNU General Public
 * License (version 2) as published by the FSF - Free Software
 * Foundation.
 */

#ifndef _SCAN_DISPATCHER_HPP
#define _SCAN_DISPATCHER_HPP

#include "chainOfResponsability.hpp"
#include "eventContext.hpp"

/**
 * @brief ScanDispatcher class.
 *
 */
class ScanDispatcher final : public AbstractHandler<std::shared_ptr<EventContext>>
{
public:
    /**
     * @brief Handles request and passes control to the next step of the chain.
     *
     * @param data Scan context.
     * @return std::shared_ptr<ScanContext> Abstract handler.
     */
    std::shared_ptr<EventContext> handleRequest(std::shared_ptr<EventContext> data) override
    {
        return AbstractHandler<std::shared_ptr<EventContext>>::handleRequest(std::move(data));
    }
};

#endif // _SCAN_DISPATCHER_HPP
